Tugas Analisis Multimedia: Audio, Gambar, Video¶
Mata Kuliah: Sistem & Teknologi Multimedia
Nama: Aziz Kurniawan
NIM: 122140097
Deskripsi Tugas¶
Tugas ini bertujuan untuk memahami representasi dasar data multimedia (audio, gambar, dan video) melalui praktik langsung memuat data, visualisasi, dan ekstraksi informasi fundamental. Anda akan bekerja dengan tiga jenis media berbeda untuk menganalisis karakteristik temporal (audio), spasial (gambar), dan spatio-temporal (video).
Fokus tugas adalah pada pemahaman konsep dasar representasi multimedia dan kemampuan interpretasi hasil visualisasi, bukan pada manipulasi atau transformasi lanjutan data multimedia.
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
import librosa
import soundfile as sf
from PIL import Image
import cv2
from IPython.display import Audio, HTML, display
import os
%matplotlib inline
print("Library versions:")
print(f"NumPy: {np.__version__}")
print(f"Matplotlib: {matplotlib.__version__}")
print(f"Librosa: {librosa.__version__}")
print(f"OpenCV: {cv2.__version__}")
from IPython.display import Audio
from pathlib import Path
import librosa.display as lbd
Library versions: NumPy: 2.2.6 Matplotlib: 3.10.6 Librosa: 0.11.0 OpenCV: 4.12.0
Checklist Kelengkapan (Centang ✅ saat selesai)¶
🎵 Bagian Audio¶
- [✅] Muat audio dan tampilkan metadata (durasi, sample rate, jumlah kanal)
- [✅] Tampilkan waveform dengan label sumbu yang jelas
- [✅] Tampilkan spectrogram dalam skala log-dB dengan colorbar
- [✅] Tampilkan MFCC (minimal 13 koefisien) sebagai heatmap
- Berikan interpretasi dan analisis untuk setiap visualisasi audio
🖼️ Bagian Gambar¶
- [✅] Tampilkan gambar dengan benar dalam format RGB
- [✅] Tampilkan informasi dasar (dimensi, jumlah kanal, dtype)
- [✅] Tampilkan histogram warna untuk channel R, G, B
- [✅] Berikan analisis hubungan histogram dengan kesan visual gambar
📹 Bagian Video¶
- [✅] Tampilkan metadata video (resolusi, fps, frame count, durasi)
- [✅] Tampilkan 3 frame representatif (awal, tengah, akhir)
- [✅] Konversi BGR ke RGB dengan benar untuk visualisasi
- [✅] Analisis kesesuaian parameter video dengan use case
📝 Analisis & Dokumentasi¶
- [✅] Setiap bagian memiliki interpretasi dan analisis ringkas
- [✅] Perbandingan representasi ketiga jenis media
- [✅] Kesimpulan pembelajaran dan refleksi
- [✅] Semua sumber data dan referensi dicantumkan
Bagian A — Audio¶
A1. Deskripsi Data¶
TODO: Jelaskan audio yang akan Anda analisis:
- Jenis audio: Pidato
- Sumber: Youtube Short
- Format file: WAV
- Alasan pemilihan: Karena suara manusia cenderung di tengah frekuensinya, namun dengan kondisi alat rekam jaman dulu menarik untuk di analisis karena akan kah ada suara angin yang bocor atau mic yang noisy.
Path file: data/audio_proklamasi_soekarno.wav
A2. TODO: Muat & Metadata¶
Instruksi: Tulis kode untuk memuat file audio dan menampilkan metadata dasar:
- Sample rate (Hz)
- Durasi (detik)
- Jumlah kanal (mono/stereo)
- Jumlah total sampel
Catatan: Jika file MP3 bermasalah saat loading, gunakan format WAV sebagai alternatif.
path = Path("data/audio_proklamasi_soekarno.wav")
assert path.exists(), f"File tidak ditemukan: {path.resolve()}"
with sf.SoundFile(path) as f:
sr = f.samplerate
channels = f.channels
frames = len(f)
duration = frames / sr
label = "mono" if channels == 1 else "stereo"
print(f"Sample rate (Hz): {sr}")
print(f"Durasi (detik): {duration:.2f}")
print(f"Jumlah kanal: {channels} ({label})")
print(f"Jumlah total sampel: {frames}")
Audio(path)
Sample rate (Hz): 44100 Durasi (detik): 48.62 Jumlah kanal: 2 (stereo) Jumlah total sampel: 2144256